package main

import (
	"fmt"
)

func main() {
	// 简单定义一个channel
	c := make(chan int)
	go func() {
		// 将数据写入到channel中
		for i := 0; i < 3; i++ {
			c <- i // 将i写入到channel中
		}
	}()

	// 将channel中的数据打印出来
	for i := 0; i < 3; i++ {
		data := <-c
		fmt.Println(data)
	}

	/*
		注意必须多开一条线程才能完成channel管道进行信息交互，
		因为go线程往管道写入数据的前提必须是这条管道的发送者和接受者都到管道两侧standby
		每次只能是发送者发送一条，立马被消费者消费一条，不能是把消息都发送成功，消费者再
		一次性进行消费
	*/

}
